#include "widget.h"
#include "ui_widget.h"

#include <QPushButton>
#include <QGridLayout>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    QPushButton* button1 = new QPushButton("按钮1");
    QPushButton* button2 = new QPushButton("按钮2");
    QPushButton* button3 = new QPushButton("按钮3");
    QPushButton* button4 = new QPushButton("按钮4");

    QGridLayout* layout = new QGridLayout();
    // 2*2布局
//    layout->addWidget(button1, 0, 0);
//    layout->addWidget(button2, 0, 1);
//    layout->addWidget(button3, 1, 0);
//    layout->addWidget(button4, 1, 1);

    // 这个排列方式就相当于水平布局了，此时多个按钮的行数只要是一样的即可，不一定非得是0.
//    layout->addWidget(button1, 0, 0);
//    layout->addWidget(button2, 0, 1);
//    layout->addWidget(button3, 0, 2);
//    layout->addWidget(button4, 0, 3);

    // 每个按钮独占一行和一列
    // 即使设置成100,100，也不会在中间出现很大的空白
    // 此处设置的行数和列数，只是用来决定控件之间的相对位置，并不会按照我们设置的数值大小，去添加一些额外的空间。
    layout->addWidget(button1, 0, 0);
    layout->addWidget(button2, 1, 1);
    layout->addWidget(button3, 2, 2);
    layout->addWidget(button4, 100, 100);

    this->setLayout(layout);
}

Widget::~Widget()
{
    delete ui;
}

